package com.boyunv.chainduty.example02;
/*
 *@description
 * 审核申请接口
 *@author boyunv
 *@create 2023/8/22 22:20
 *@version 1.0
 */

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class AuthController {
    /**
     * 审核方法 
     * @param name  申请人姓名
     * @param orderId 申请单ID
     * @param authDate 申请时间
     * @return
     */
    public AuthInfo doAuth(String name, String orderId, Date authDate) throws ParseException {
        //三级审批
        Date date=null;
        
        //查询是否存在审核信息,虚拟三级审核人信息100013
        date=AuthService.queryAuthInfo("100013",orderId);
        if(date==null){
            return new AuthInfo("0001","单号:"+orderId,"状态:等待三级负责人审批");
        }
        //二级审批
        //查询是否存在审核信息,虚拟二级审核人信息100012  审核时间范围: 11.1~11.10
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        if (authDate.after(sdf.parse("2022-10-31 00:00:00"))
            &&authDate.before(sdf.parse("2022-11-11 00:00:00"))){
            //条件成立,查询二级信息
            date=AuthService.queryAuthInfo("100012","orderId");
            if(date==null){
                return new AuthInfo("0001","单号:"+orderId,"状态:等待二级负责人审批");
            }
        }
        //1级审批
        //查询是否存在审核信息,虚拟1级审核人信息100012  审核时间范围: 11.1~11.10
        if (authDate.after(sdf.parse("2022-11-11 00:00:00"))
                &&authDate.before(sdf.parse("2022-11-31 00:00:00"))){
            //条件成立,查询二级信息
            date=AuthService.queryAuthInfo("100011","orderId");
            if(date==null){
                return new AuthInfo("0001","单号:"+orderId,"状态:等待1级负责人审批");
            }
        }
        
        return new AuthInfo("0001"+"单号:"+orderId,"申请人:"+name,"状态:审批完成");
    }
}
